home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.image.IndexColorModel;
- import java.awt.image.MemoryImageSource;
-
- class Atom {
- private static Applet applet;
- private static byte[] data = new byte[6400];
- // $FF: renamed from: R int
- private static final int field_0 = 40;
- // $FF: renamed from: hx int
- private static final int field_1 = 15;
- // $FF: renamed from: hy int
- private static final int field_2 = 15;
- private static final int bgGrey = 192;
- private static final int nBalls = 16;
- private static int maxr;
- // $FF: renamed from: Rl int
- private int field_3;
- // $FF: renamed from: Gl int
- private int field_4;
- // $FF: renamed from: Bl int
- private int field_5;
- private Image[] balls;
-
- static void setApplet(Applet var0) {
- applet = var0;
- }
-
- Atom(int var1, int var2, int var3) {
- this.field_3 = var1;
- this.field_4 = var2;
- this.field_5 = var3;
- }
-
- private final int blend(int var1, int var2, float var3) {
- return (int)((float)var2 + (float)(var1 - var2) * var3);
- }
-
- private void Setup() {
- this.balls = new Image[16];
- byte[] var1 = new byte[256];
- var1[0] = -64;
- byte[] var2 = new byte[256];
- var2[0] = -64;
- byte[] var3 = new byte[256];
- var3[0] = -64;
-
- for(int var4 = 0; var4 < 16; ++var4) {
- float var5 = (float)(var4 + 1) / 16.0F;
-
- for(int var6 = maxr; var6 >= 1; --var6) {
- float var7 = (float)var6 / (float)maxr;
- var1[var6] = (byte)this.blend(this.blend(this.field_3, 255, var7), 192, var5);
- var2[var6] = (byte)this.blend(this.blend(this.field_4, 255, var7), 192, var5);
- var3[var6] = (byte)this.blend(this.blend(this.field_5, 255, var7), 192, var5);
- }
-
- IndexColorModel var8 = new IndexColorModel(8, maxr + 1, var1, var2, var3, 0);
- this.balls[var4] = applet.createImage(new MemoryImageSource(80, 80, var8, data, 0, 80));
- }
-
- }
-
- void paint(Graphics var1, int var2, int var3, int var4) {
- Image[] var5 = this.balls;
- if (var5 == null) {
- this.Setup();
- var5 = this.balls;
- }
-
- Image var6 = var5[var4];
- int var7 = 10 + var4;
- var1.drawImage(var6, var2 - (var7 >> 1), var3 - (var7 >> 1), var7, var7, applet);
- }
-
- static {
- int var0 = 0;
- int var1 = 80;
-
- while(true) {
- --var1;
- if (var1 < 0) {
- maxr = var0;
- return;
- }
-
- int var2 = (int)(Math.sqrt((double)(1600 - (var1 - 40) * (var1 - 40))) + (double)0.5F);
- int var3 = var1 * 80 + 40 - var2;
-
- for(int var4 = -var2; var4 < var2; ++var4) {
- int var5 = var4 + 15;
- int var6 = var1 - 40 + 15;
- int var7 = (int)(Math.sqrt((double)(var5 * var5 + var6 * var6)) + (double)0.5F);
- if (var7 > var0) {
- var0 = var7;
- }
-
- data[var3++] = var7 <= 0 ? 1 : (byte)var7;
- }
- }
- }
- }
-